package io.renren.common.utils;

/**
 * @author guizhao
 * @Title: StringUtil
 * @Description: 字符串工具类
 * @date 2018-08-0610:36
 */
public class StringUtil {

    /**
     * 判断字符串是否为空: " " ，null ，返回false
     * @param str
     * @return
     */
    public static boolean isEmpty(String str) {
        return str == null || str.length() == 0 || "".equals(str) || " ".equals(str);
    }

    /**
     * 判断字符串是否不为空
     * @param str
     * @return
     */
    public static boolean isNotEmpty(String str) {
        return !isEmpty(str);
    }

    /**
     * 判断对象是否为空
     * @param obj
     * @return
     */
    public static boolean isNull(Object obj) {
         return obj == null;
    }

    public static boolean isNotNull(Object obj) {
        return !isNull(obj);
    }

    /**
     * 对象转字符串
     * @param obj
     * @return
     */
    public static String toStr(Object obj) {
        if(obj instanceof String){
            return  (String)obj;
        }
        return null;
    }

    /**
     * 查询参数处理,返回字符串
     * @param param
     * @return
     */
    public static String getRequestParamString(Object param) {
        if(StringUtil.isNotNull(param)){
            return StringUtil.toStr(param).trim();
        }
        return null;
    }

    /**
     * 查询参数处理,返回数字
     * @param param
     * @return
     */
    public static Integer getRequestParamInteger(Object obj) {
        try {
            if(StringUtil.isNotNull(obj)){
                if(obj instanceof Integer){
                    return (Integer)obj;
                } else if(StringUtil.isNull(StringUtil.toStr(obj).trim())){
                    return null;
                }else {
                    return Integer.parseInt(StringUtil.toStr(obj).trim());
                }
            }
            return null;
        }catch (Exception e){
            e.printStackTrace();
            return null;
        }
    }

    public static Integer objToInt(Object obj){
        if(obj instanceof String){
            try {
                return Integer.parseInt(StringUtil.toStr(obj));
            }catch (Exception e){
                return null;
            }
        }
        return null;
    }
}
